<%-- 
    Document   : ReporteGerencia
    Created on : 7/10/2011, 02:48:54 PM
    Author     : Ces
--%>

<%@page import="org.jfree.data.general.DefaultPieDataset"%>
<%@page import="org.jfree.data.general.PieDataset"%>
<%@ page import="PaquetesJL.*" %>
<%@page import="java.sql.ResultSet" %>
<%@page import="java.sql.ResultSetMetaData" %>

<%@page import="org.jfree.chart.*" %>
<%@page import="org.jfree.chart.plot.PlotOrientation" %>
<%@page import="org.jfree.data.category.*" %>
<%@page import="org.jfree.util.TableOrder" %>
<%@page import="java.io.*" %>

<jsp:include page="header.jsp"/>
<jsp:include page="ValidaUsuarioPermiso.jsp?id=ReporteGerencia.jsp"/>

    <div class="story_title">
        <h2>Reportes de Gerencia</h2>
    </div>
    <div class="clear"></div>
    <div class="story_content">
        
    <%
            HttpSession objSesion = request.getSession(false); 
            String usuario = (String)objSesion.getAttribute("username");
            
            if (usuario!=null && usuario.length() > 0 && (String)objSesion.getAttribute("valido")!=null)
            {
        %>
        
        Selecciona un reporte:
        
        <form method="get" >
            <select name="reporte">
                <option value=1>Saldos por agencia</option>
                <option value=2>Grafica de saldos</option>
                <option value=3>Clientes con mayor depositos por agencia</option>
                <option value=4>Clientes con mas cheques pagados por agencia</option>
                <option value=5>Clientes que no han hecho deposito en agencia Obelisco</option>
            </select>

            <input type="submit" name="verReporte"/>
        </form>
       
        <%
                
                int option = 1;
                
                if(request.getParameter("reporte")!=null)
                    option = Integer.parseInt(request.getParameter("reporte"));

                if(request.getParameter("verReporte") != null)
                {
                    String username = request.getParameter("username");
                    String password = request.getParameter("password");

                    String sqlServer = pageContext.getServletContext().getInitParameter("sqlServer");
                    String databaseName = pageContext.getServletContext().getInitParameter("databaseName");
                    String userName = pageContext.getServletContext().getInitParameter("userName");
                    String PasswordP = pageContext.getServletContext().getInitParameter("password");
                    String Backup = pageContext.getServletContext().getInitParameter("RutaBackup");

                    byte[] decodedBytes = ConexionBD.decode(PasswordP);
                    String decodedPassword = new String(decodedBytes).trim();

                    ConexionBD Conexion = new ConexionBD(sqlServer, databaseName, userName, decodedPassword, Backup);
                    Conexion.IniciarConexion();
                    
                    //out.println("opcion escogida: " + option);
                    
                    ResultSet r = Conexion.EjecutarConsulta("EXEC [ReporteGerencia] "+option);
                    
                    //DefaultCategoryDataset dataset = new DefaultCategoryDataset();
                    DefaultPieDataset dataset = new DefaultPieDataset();
                    DefaultCategoryDataset datasetB = new DefaultCategoryDataset();
                    try {
                        
                    ResultSetMetaData rs = r.getMetaData();
                    
                        
                        out.println("<br><table cellpadding=5 cellspacing=3 border=1>");
                        out.println("<tr>");
                        for(int i = 1; i<=rs.getColumnCount(); i++)
                        {
                            out.println("<td><b>"+rs.getColumnName(i)+"</b></td>");
                        }
                        out.println("</tr>");
                        
                        while(r.next())
                        {
                            out.println("<tr>");
                            
                            for(int i = 1; i<=rs.getColumnCount(); i++)
                            {
                                out.println("<td>"+r.getString(i)+"</td>");
                            }
                            
                            if(option==1)
                            {
                                dataset.setValue(r.getString(1), Integer.parseInt(r.getString(2)));
                            }
                            
                            if(option==2)
                            {
                                datasetB.setValue(Integer.parseInt(r.getString(1)), "Deposito", "Deposito");
                                datasetB.setValue(Integer.parseInt(r.getString(2)), "Debito", "Debito");
                                datasetB.setValue(Integer.parseInt(r.getString(3)), "Compensado", "Compensado");
                            }
                            
                            out.println("</tr>");
                        }
                        out.println("</table>");

                    } catch (Exception e) { out.println(e.getMessage()); }

                    
                    Conexion.CerrarConexion();
                    
                    
                    //mostrar grafica
                    if(option==1)
                    {
                        JFreeChart chart = ChartFactory.createPieChart3D("Saldo por Agencia", dataset, true, false, false);
                                                
                        ChartUtilities.saveChartAsJPEG(new File("C:\\Users\\Jose\\Documents\\NetBeansProjects\\Bases2Proyecto\\web\\img\\grafico1.jpg"), chart, 500, 300);
                        
                        %>
                        <img src="img/grafico1.jpg" alt="imagen"/>
                        <%
                    }
                    
                    if(option==2)
                    {
                        JFreeChart chart = ChartFactory.createBarChart3D("Saldos", "", "", datasetB, PlotOrientation.VERTICAL, true, true, false);
                        ChartUtilities.saveChartAsJPEG(new File("C:\\Users\\Jose\\Documents\\NetBeansProjects\\Bases2Proyecto\\web\\img\\grafico2.jpg"), chart, 500, 300);
                        
                        %>
                        <img src="img/grafico2.jpg" alt="imagen"/>
                        <%
                    }
                    
                }
    
        
        
            } else {
                
                response.sendRedirect("Autentica.jsp");
            }
        %>
        
    </div>




<jsp:include page="footer.jsp"/>